################################################################################
# Procedure permettant d'ajouter un noeud dans la liste
################################################################################
proc proc_ajouterNoeud { param_id } {
	global var_listeNoeuds
	
	set var_listeNoeuds($param_id) $param_id
}

################################################################################
# Procedure permettant d'ajouter un noeud dans la liste avec le psudo correspondant
# Si doublon par rapport a l'id => maj du pseudo
################################################################################
proc proc_ajouterNoeudPseudo { param_id param_pseudo } {
	global var_listeNoeuds

	set var_listeNoeuds($param_id) $param_id
	set var_listeNoeuds($param_id,pseudo) $param_pseudo

}

################################################################################
# Procedure permettant de recuperer le pseudo d'un noeud
################################################################################
proc proc_getNoeudPseudo { param_id } {
	global var_listeNoeuds
	return $var_listeNoeuds($param_id,pseudo)
}

################################################################################
# Procedure ajoutant un noeud a la liste des connectes d'un salon
################################################################################
proc proc_ajouterNoeudListeConnectesSalon { param_noeudId param_salonId } {
	global var_listeSalons 

	if { [lsearch $var_listeSalons($param_salonId,listeConnecte) $param_noeudId] == -1 } {
		lappend var_listeSalons($param_salonId,listeConnecte) $param_noeudId
		proc_afficheListeNoeudsConnecteSalon $param_salonId
	} 
}

################################################################################
# Procedure affichant la liste des noeuds
################################################################################
proc proc_afficheListeNoeuds { } {
	global var_listeNoeuds
	.content.right.frameUsers.listeUsers delete 0 end
	foreach var_idNoeud [array names var_listeNoeuds -regexp {^[^,]*$}]  {
		.content.right.frameUsers.listeUsers insert end "$var_idNoeud:$var_listeNoeuds($var_idNoeud,pseudo)"
	}	
}


################################################################################
# Procedure affichant la liste des noeuds connectes a un salon
################################################################################
proc proc_afficheListeNoeudsConnecteSalon { param_salonId } {
	global var_listeNoeuds
	global var_listeSalons
	.content.right.frameUsers.listeUsers delete 0 end

	# foreach var_idNoeud [array names var_listeNoeuds -regexp {^[^,]*$}]  
	#foreach var_idNoeud [array names var_listeSalons -regexp {$param_salonId,listeConnecte}]  
	foreach var_idNoeud $var_listeSalons($param_salonId,listeConnecte) {
		.content.right.frameUsers.listeUsers insert end "$var_idNoeud:$var_listeNoeuds($var_idNoeud,pseudo)"
	}	
}

################################################################################
# Procedure affichant la liste des voisins 
################################################################################
proc proc_afficheListeVoisins { } {
	global var_listeVoisins

	.content.right.frameUsers.listeVoisins delete 0 end
	
	foreach var_idVoisin [array names var_listeVoisins "*,distance"] {	
		#
		# Extraction de l'identifiant par éclatement (split)
		# de l'indice
		#
		regexp {^[^,]+} $var_idVoisin ident

		.content.right.frameUsers.listeVoisins insert end "$ident - \($var_listeVoisins($var_idVoisin)\)"
		
	}
}

